package iso3.pt.model;

import java.util.ArrayList;

public class Asignatura {
	
	private int id;
	private int codigo;
	private String nombre;
	private float creditos;
	private Profesor profesor;

	private ArrayList<Unidad> unidades;
	private ArrayList<Alumno> alumnos;
	
	public Asignatura(int codigo, String nombre, float creditos, Profesor profesor) {
		super();
		this.codigo = codigo;
		this.nombre = nombre;
		this.creditos = creditos;
		this.profesor = profesor;
		unidades = new ArrayList<Unidad>();
		alumnos = new ArrayList<Alumno>();
	}
	
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public int getCodigo() {
		return codigo;
	}
	public void setCodigo(int codigo) {
		this.codigo = codigo;
	}
	public String getNombre() {
		return nombre;
	}
	public void setNombre(String nombre) {
		this.nombre = nombre;
	}
	public float getCreditos() {
		return creditos;
	}
	public void setCreditos(float creditos) {
		this.creditos = creditos;
	}
	
	public Profesor getProfesor() {
		return profesor;
	}

	public void setProfesor(Profesor profesor) {
		this.profesor = profesor;
	}
	public ArrayList<Unidad> getUnidades(){
		return this.unidades;
	}
	
	public void setUnidades(ArrayList<Unidad> unidades){
		this.unidades = unidades;
	}
	
	public void addUnidad(Unidad unidad){
		this.unidades.add(unidad);
	}
	
	public void removeUnidad(Unidad unidad){
		this.unidades.remove(unidad);
	}
	
	public ArrayList<Alumno> getAlumnos(){
		return this.alumnos;
	}
	
	public void setAlumnos(ArrayList<Alumno> alumnos){
		this.alumnos = alumnos;
	}
	
	public void addAlumno(Alumno alumno){
		this.alumnos.add(alumno);
	}
	
	public void removeAlumno(Alumno alumno){
		this.alumnos.remove(alumno);
	}
	
	public boolean estaMatriculado(Alumno alumno){
		return this.alumnos.contains(alumno);
	}
}
